{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "import torch "
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "torch.randint(10000000,99999999,(1,))"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "tensor([58675738])"
      ]
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "import numpy as np\r\n",
    "from collections import  Counter\r\n",
    "data = np.array([1.1,2,3,4,4,5])\r\n",
    "\r\n",
    "import pandas as pd \r\n",
    "a  = pd.value_counts(data)\r\n",
    "print(a)\r\n",
    "Counter(data)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "class A:\r\n",
    "    def __init__(self):\r\n",
    "        self.a = 1\r\n",
    "    def get(self):\r\n",
    "        print(self.a)\r\n",
    "class B(A):\r\n",
    "    def __init__(self):\r\n",
    "        super(B,self).__init__()\r\n",
    "        self.a = 2\r\n",
    "\r\n",
    "    def get(self):\r\n",
    "        # assert self.a == super().a\r\n",
    "        print(self.a)  \r\n",
    "    \r\n",
    "    def get2(self):\r\n",
    "        super().get()\r\n",
    "\r\n",
    "b = B()\r\n",
    "b.get()\r\n",
    "b.get2()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "2\n",
      "2\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "import numpy as np \r\n",
    "import matplotlib.pyplot as plt \r\n",
    "x = np.linspace(-5,5,100)\r\n",
    "y = np.exp(-x**2/9)\r\n",
    "\r\n",
    "plt.plot(x,y)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x27d7c784b20>]"
      ]
     },
     "metadata": {},
     "execution_count": 9
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "import torch \r\n",
    "a = torch.tensor([[1,2],[3,4]])\r\n",
    "torch.sum(a,dim=1)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "from datasets.minist.data_load import dataManager as dm \r\n",
    "\r\n",
    "dm.allocate_data_avg()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "from datasets.feminist.data_load import dataManager as dm \r\n",
    "\r\n",
    "dm.allocate_data_noniid()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "from datasets.maldroid.data_load import dataManager as dm \r\n",
    "\r\n",
    "dm.allocate_data_iid()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "from datasets.minist.data_load import dataManager as dm \r\n",
    "\r\n",
    "dm.allocate_data_avg()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "import numpy as np\r\n",
    "a = np.array([1,2,3,4,5,1,2,3,4,5])\r\n",
    "b = np.array([[1,2],[3,4]])\r\n",
    "np.where(a==2)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(array([1, 6], dtype=int64),)"
      ]
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "source": [
    "import numpy as np\r\n",
    "noise = np.random.randn(100)\r\n",
    "np.mean(noise)\r\n",
    "# np.mean(noise - np.mean(noise))"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "-0.018428837103116203"
      ]
     },
     "metadata": {},
     "execution_count": 19
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "source": [
    "import numpy as np\r\n",
    "a = np.array([[1,1,1],[2,2,2]])\r\n",
    "np.var(a,axis=0)\r\n",
    "\r\n",
    "b = a.copy()\r\n",
    "b[0,0]=10\r\n",
    "print(a,b)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "[[1 1 1]\n",
      " [2 2 2]] [[10  1  1]\n",
      " [ 2  2  2]]\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "source": [
    "import numpy as np \r\n",
    "a = np.array([1,2,3,4,5,6,6,6,4,3,2])\r\n",
    "np.histogram(a,bins=10,range=(0,1),density=True)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0., 10.]),\n",
       " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]))"
      ]
     },
     "metadata": {},
     "execution_count": 5
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "source": [
    "from scipy.stats import wasserstein_distance,energy_distance\r\n",
    "\r\n",
    "a = np.array([1,2])\r\n",
    "b = np.array([3,4,3,4,3,4])\r\n",
    "print(wasserstein_distance(a,b))\r\n",
    "print(energy_distance(a,b))\r\n"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "2.0\n",
      "1.7320508075688772\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "array([3, 4, 3, 4, 3, 4])"
      ]
     },
     "metadata": {},
     "execution_count": 23
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "import numpy as np\r\n",
    "d = np.array([[[1,2],[4,5]],[[3,4],[6,4]]])\r\n",
    "d.reshape(2,-1)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "array([[1, 2, 4, 5],\n",
       "       [3, 4, 6, 4]])"
      ]
     },
     "metadata": {},
     "execution_count": 6
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "class A:\r\n",
    "    def __init__(self):\r\n",
    "        self.a =1\r\n",
    "\r\n",
    "    def aa(self):\r\n",
    "        self.bb()\r\n",
    "        print(\"aa\")\r\n",
    "    def bb(self):\r\n",
    "        print(10000)\r\n",
    "\r\n",
    "\r\n",
    "class B(A):\r\n",
    "    def __init__(self):\r\n",
    "        super(B,self).__init__()\r\n",
    "        self.b=10\r\n",
    "    def aa(self):\r\n",
    "        super(B,self).aa()\r\n",
    "        print(\"BBAA\")\r\n",
    "    def bb(self):\r\n",
    "        print(self.b)\r\n",
    "b = B()\r\n",
    "b.aa()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "10\n",
      "aa\n",
      "BBAA\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "import os\r\n",
    "os.name"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'nt'"
      ]
     },
     "metadata": {},
     "execution_count": 1
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "source": [
    "import torch\r\n",
    "import math\r\n",
    "a = torch.Tensor([[1,2],[3,4]])\r\n",
    "b = torch.Tensor([[10,20],[30,40]])\r\n",
    "print(torch.norm(a,\"fro\"),torch.norm(a,2))"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "tensor(5.4772) tensor(5.4772)\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "source": [
    "import torch \r\n",
    "a = torch.Tensor([1,2,3])\r\n",
    "b = torch.Tensor([4,5,6])\r\n",
    "d = [1,1,2]\r\n",
    "# 验证了持久化。不是tensor也行\r\n",
    "torch.save({'a':a,'b':b,'d':d},'./temp')\r\n",
    "c = torch.load('./temp')\r\n",
    "print(c)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "{'a': tensor([1., 2., 3.]), 'b': tensor([4., 5., 6.]), 'd': [1, 1, 2]}\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "source": [
    "import numpy as np\r\n",
    "\r\n",
    "print((0.5**2*2/2))\r\n",
    "\r\n",
    "a = np.array([[[1,1],[1,1]],[[4,4],[2,2]]])\r\n",
    "np.var(a,axis=0)\r\n",
    "\r\n"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "0.25\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "array([[2.25, 2.25],\n",
       "       [0.25, 0.25]])"
      ]
     },
     "metadata": {},
     "execution_count": 14
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "source": [
    "import numpy as np\r\n",
    "a = np.array([1,4,2,4,100,1000])\r\n",
    "np.std(a,ddof=0)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "366.13222414252965"
      ]
     },
     "metadata": {},
     "execution_count": 21
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "source": [
    "import torch \r\n",
    "a = torch.Tensor([1,2,3])\r\n",
    "b = torch.Tensor([4,5,6])\r\n",
    "torch.save((a,b),'temp')\r\n",
    "# torch.save(b,'temp')\r\n",
    "t = torch.load('temp')\r\n",
    "print(t)\r\n"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "(tensor([1., 2., 3.]), tensor([4., 5., 6.]))\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "import numpy as np\r\n",
    "\r\n",
    "a = np.array([[1,1],[2,2]])\r\n",
    "b = np.array([[1,2],[3,4]])\r\n",
    "np.append(a,b,axis=0)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "array([[1, 1, 1, 2],\n",
       "       [2, 2, 3, 4]])"
      ]
     },
     "metadata": {},
     "execution_count": 8
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "import numpy as np\r\n",
    "np.random.standard_normal([1000,]).mean()\r\n",
    "\r\n",
    "# np.random.random([100,]).mean()"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "0.008466850297741349"
      ]
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "a = [1,2,3]\r\n",
    "b = [4,5,6]\r\n",
    "\r\n",
    "for dl in [a,b]:\r\n",
    "    for i in dl:\r\n",
    "        print(i)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "5\n",
      "6\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "import numpy as np\r\n",
    "a = np.array([0.25,0.25,0.25,0.25])\r\n",
    "b = np.array([0.2,.3,.4,.1])\r\n",
    "c = np.exp(b)\r\n",
    "print(c/c.sum())"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "[0.23632778 0.26118259 0.28865141 0.21383822]\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "import torch \r\n",
    "a = torch.Tensor([-.2,.7,.4,.1])\r\n",
    "c = torch.exp(a)\r\n",
    "\r\n",
    "print(c/c.sum())\r\n"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "tensor([0.1508, 0.3709, 0.2748, 0.2036])\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "import numpy as np\r\n",
    "a = np.linspace(-5,5,100)\r\n",
    "b = np.exp(1+a)\r\n",
    "\r\n",
    "import matplotlib.pyplot as plt\r\n",
    "plt.plot(a,b)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "import numpy as np\r\n",
    "\r\n",
    "x = np.linspace(-5,5,100)\r\n",
    "y = 1/(1+np.exp(-x))\r\n",
    "\r\n",
    "import matplotlib.pyplot as plt\r\n",
    "\r\n",
    "plt.plot(x,y)\r\n"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x22866c5ffd0>]"
      ]
     },
     "metadata": {},
     "execution_count": 2
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 372.103125 248.518125\" width=\"372.103125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n   <cc:Work>\r\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n    <dc:date>2021-08-26T17:23:46.564238</dc:date>\r\n    <dc:format>image/svg+xml</dc:format>\r\n    <dc:creator>\r\n     <cc:Agent>\r\n      <dc:title>Matplotlib v3.4.2, https://matplotlib.org/</dc:title>\r\n     </cc:Agent>\r\n    </dc:creator>\r\n   </cc:Work>\r\n  </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 248.518125 \r\nL 372.103125 248.518125 \r\nL 372.103125 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 30.103125 224.64 \r\nL 364.903125 224.64 \r\nL 364.903125 7.2 \r\nL 30.103125 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m91c02941cf\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"45.321307\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −1.00 -->\r\n      <g transform=\"translate(29.998651 239.238438)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 678 2272 \r\nL 4684 2272 \r\nL 4684 1741 \r\nL 678 1741 \r\nL 678 2272 \r\nz\r\n\" id=\"DejaVuSans-2212\" transform=\"scale(0.015625)\"/>\r\n        <path d=\"M 794 531 \r\nL 1825 531 \r\nL 1825 4091 \r\nL 703 3866 \r\nL 703 4441 \r\nL 1819 4666 \r\nL 2450 4666 \r\nL 2450 531 \r\nL 3481 531 \r\nL 3481 0 \r\nL 794 0 \r\nL 794 531 \r\nz\r\n\" id=\"DejaVuSans-31\" transform=\"scale(0.015625)\"/>\r\n        <path d=\"M 684 794 \r\nL 1344 794 \r\nL 1344 0 \r\nL 684 0 \r\nL 684 794 \r\nz\r\n\" id=\"DejaVuSans-2e\" transform=\"scale(0.015625)\"/>\r\n        <path d=\"M 2034 4250 \r\nQ 1547 4250 1301 3770 \r\nQ 1056 3291 1056 2328 \r\nQ 1056 1369 1301 889 \r\nQ 1547 409 2034 409 \r\nQ 2525 409 2770 889 \r\nQ 3016 1369 3016 2328 \r\nQ 3016 3291 2770 3770 \r\nQ 2525 4250 2034 4250 \r\nz\r\nM 2034 4750 \r\nQ 2819 4750 3233 4129 \r\nQ 3647 3509 3647 2328 \r\nQ 3647 1150 3233 529 \r\nQ 2819 -91 2034 -91 \r\nQ 1250 -91 836 529 \r\nQ 422 1150 422 2328 \r\nQ 422 3509 836 4129 \r\nQ 1250 4750 2034 4750 \r\nz\r\n\" id=\"DejaVuSans-30\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-2212\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"83.366761\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −0.75 -->\r\n      <g transform=\"translate(68.044105 239.238438)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 525 4666 \r\nL 3525 4666 \r\nL 3525 4397 \r\nL 1831 0 \r\nL 1172 0 \r\nL 2766 4134 \r\nL 525 4134 \r\nL 525 4666 \r\nz\r\n\" id=\"DejaVuSans-37\" transform=\"scale(0.015625)\"/>\r\n        <path d=\"M 691 4666 \r\nL 3169 4666 \r\nL 3169 4134 \r\nL 1269 4134 \r\nL 1269 2991 \r\nQ 1406 3038 1543 3061 \r\nQ 1681 3084 1819 3084 \r\nQ 2600 3084 3056 2656 \r\nQ 3513 2228 3513 1497 \r\nQ 3513 744 3044 326 \r\nQ 2575 -91 1722 -91 \r\nQ 1428 -91 1123 -41 \r\nQ 819 9 494 109 \r\nL 494 744 \r\nQ 775 591 1075 516 \r\nQ 1375 441 1709 441 \r\nQ 2250 441 2565 725 \r\nQ 2881 1009 2881 1497 \r\nQ 2881 1984 2565 2268 \r\nQ 2250 2553 1709 2553 \r\nQ 1456 2553 1204 2497 \r\nQ 953 2441 691 2322 \r\nL 691 4666 \r\nz\r\n\" id=\"DejaVuSans-35\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-2212\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-37\"/>\r\n       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-35\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"121.412216\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- −0.50 -->\r\n      <g transform=\"translate(106.08956 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-2212\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-35\"/>\r\n       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"159.45767\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- −0.25 -->\r\n      <g transform=\"translate(144.135014 239.238438)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 1228 531 \r\nL 3431 531 \r\nL 3431 0 \r\nL 469 0 \r\nL 469 531 \r\nQ 828 903 1448 1529 \r\nQ 2069 2156 2228 2338 \r\nQ 2531 2678 2651 2914 \r\nQ 2772 3150 2772 3378 \r\nQ 2772 3750 2511 3984 \r\nQ 2250 4219 1831 4219 \r\nQ 1534 4219 1204 4116 \r\nQ 875 4013 500 3803 \r\nL 500 4441 \r\nQ 881 4594 1212 4672 \r\nQ 1544 4750 1819 4750 \r\nQ 2544 4750 2975 4387 \r\nQ 3406 4025 3406 3419 \r\nQ 3406 3131 3298 2873 \r\nQ 3191 2616 2906 2266 \r\nQ 2828 2175 2409 1742 \r\nQ 1991 1309 1228 531 \r\nz\r\n\" id=\"DejaVuSans-32\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-2212\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"179.199219\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"242.822266\" xlink:href=\"#DejaVuSans-35\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"197.503125\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 0.00 -->\r\n      <g transform=\"translate(186.370313 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"235.54858\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 0.25 -->\r\n      <g transform=\"translate(224.415767 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-35\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"273.594034\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 0.50 -->\r\n      <g transform=\"translate(262.461222 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_8\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"311.639489\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0.75 -->\r\n      <g transform=\"translate(300.506676 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-37\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-35\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_9\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"349.684943\" xlink:href=\"#m91c02941cf\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 1.00 -->\r\n      <g transform=\"translate(338.552131 239.238438)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"159.033203\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_10\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"mfeeb28e5cb\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mfeeb28e5cb\" y=\"201.470915\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 0.3 -->\r\n      <g transform=\"translate(7.2 205.270133)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2597 2516 \r\nQ 3050 2419 3304 2112 \r\nQ 3559 1806 3559 1356 \r\nQ 3559 666 3084 287 \r\nQ 2609 -91 1734 -91 \r\nQ 1441 -91 1130 -33 \r\nQ 819 25 488 141 \r\nL 488 750 \r\nQ 750 597 1062 519 \r\nQ 1375 441 1716 441 \r\nQ 2309 441 2620 675 \r\nQ 2931 909 2931 1356 \r\nQ 2931 1769 2642 2001 \r\nQ 2353 2234 1838 2234 \r\nL 1294 2234 \r\nL 1294 2753 \r\nL 1863 2753 \r\nQ 2328 2753 2575 2939 \r\nQ 2822 3125 2822 3475 \r\nQ 2822 3834 2567 4026 \r\nQ 2313 4219 1838 4219 \r\nQ 1578 4219 1281 4162 \r\nQ 984 4106 628 3988 \r\nL 628 4550 \r\nQ 988 4650 1302 4700 \r\nQ 1616 4750 1894 4750 \r\nQ 2613 4750 3031 4423 \r\nQ 3450 4097 3450 3541 \r\nQ 3450 3153 3228 2886 \r\nQ 3006 2619 2597 2516 \r\nz\r\n\" id=\"DejaVuSans-33\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-33\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mfeeb28e5cb\" y=\"158.695457\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 0.4 -->\r\n      <g transform=\"translate(7.2 162.494676)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2419 4116 \r\nL 825 1625 \r\nL 2419 1625 \r\nL 2419 4116 \r\nz\r\nM 2253 4666 \r\nL 3047 4666 \r\nL 3047 1625 \r\nL 3713 1625 \r\nL 3713 1100 \r\nL 3047 1100 \r\nL 3047 0 \r\nL 2419 0 \r\nL 2419 1100 \r\nL 313 1100 \r\nL 313 1709 \r\nL 2253 4666 \r\nz\r\n\" id=\"DejaVuSans-34\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-34\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mfeeb28e5cb\" y=\"115.92\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 0.5 -->\r\n      <g transform=\"translate(7.2 119.719219)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mfeeb28e5cb\" y=\"73.144543\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0.6 -->\r\n      <g transform=\"translate(7.2 76.943761)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2113 2584 \r\nQ 1688 2584 1439 2293 \r\nQ 1191 2003 1191 1497 \r\nQ 1191 994 1439 701 \r\nQ 1688 409 2113 409 \r\nQ 2538 409 2786 701 \r\nQ 3034 994 3034 1497 \r\nQ 3034 2003 2786 2293 \r\nQ 2538 2584 2113 2584 \r\nz\r\nM 3366 4563 \r\nL 3366 3988 \r\nQ 3128 4100 2886 4159 \r\nQ 2644 4219 2406 4219 \r\nQ 1781 4219 1451 3797 \r\nQ 1122 3375 1075 2522 \r\nQ 1259 2794 1537 2939 \r\nQ 1816 3084 2150 3084 \r\nQ 2853 3084 3261 2657 \r\nQ 3669 2231 3669 1497 \r\nQ 3669 778 3244 343 \r\nQ 2819 -91 2113 -91 \r\nQ 1303 -91 875 529 \r\nQ 447 1150 447 2328 \r\nQ 447 3434 972 4092 \r\nQ 1497 4750 2381 4750 \r\nQ 2619 4750 2861 4703 \r\nQ 3103 4656 3366 4563 \r\nz\r\n\" id=\"DejaVuSans-36\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-36\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mfeeb28e5cb\" y=\"30.369085\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 0.7 -->\r\n      <g transform=\"translate(7.2 34.168304)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\r\n       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-37\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_15\">\r\n    <path clip-path=\"url(#p01cc19a9d4)\" d=\"M 45.321307 214.756364 \r\nL 48.395687 213.049431 \r\nL 51.470067 211.326766 \r\nL 54.544447 209.588507 \r\nL 57.618827 207.834801 \r\nL 60.693208 206.065804 \r\nL 63.767588 204.28168 \r\nL 66.841968 202.482603 \r\nL 69.916348 200.668757 \r\nL 72.990728 198.840333 \r\nL 76.065108 196.997532 \r\nL 79.139489 195.140565 \r\nL 82.213869 193.26965 \r\nL 85.288249 191.385017 \r\nL 88.362629 189.486902 \r\nL 91.437009 187.575552 \r\nL 94.511389 185.651222 \r\nL 97.58577 183.714176 \r\nL 100.66015 181.764686 \r\nL 103.73453 179.803035 \r\nL 106.80891 177.829511 \r\nL 109.88329 175.844413 \r\nL 112.95767 173.848047 \r\nL 116.032051 171.840728 \r\nL 119.106431 169.822779 \r\nL 122.180811 167.794529 \r\nL 125.255191 165.756318 \r\nL 128.329571 163.708489 \r\nL 131.403951 161.651396 \r\nL 134.478332 159.585399 \r\nL 137.552712 157.510863 \r\nL 140.627092 155.428161 \r\nL 143.701472 153.337673 \r\nL 146.775852 151.239783 \r\nL 149.850232 149.134884 \r\nL 152.924613 147.02337 \r\nL 155.998993 144.905644 \r\nL 159.073373 142.782112 \r\nL 162.147753 140.653185 \r\nL 165.222133 138.519279 \r\nL 168.296513 136.380814 \r\nL 171.370894 134.238211 \r\nL 174.445274 132.091899 \r\nL 177.519654 129.942305 \r\nL 180.594034 127.789862 \r\nL 183.668414 125.635005 \r\nL 186.742794 123.47817 \r\nL 189.817175 121.319794 \r\nL 192.891555 119.160317 \r\nL 195.965935 117.000179 \r\nL 199.040315 114.839821 \r\nL 202.114695 112.679683 \r\nL 205.189075 110.520206 \r\nL 208.263456 108.36183 \r\nL 211.337836 106.204995 \r\nL 214.412216 104.050138 \r\nL 217.486596 101.897695 \r\nL 220.560976 99.748101 \r\nL 223.635356 97.601789 \r\nL 226.709737 95.459186 \r\nL 229.784117 93.320721 \r\nL 232.858497 91.186815 \r\nL 235.932877 89.057888 \r\nL 239.007257 86.934356 \r\nL 242.081637 84.81663 \r\nL 245.156018 82.705116 \r\nL 248.230398 80.600217 \r\nL 251.304778 78.502327 \r\nL 254.379158 76.411839 \r\nL 257.453538 74.329137 \r\nL 260.527918 72.254601 \r\nL 263.602299 70.188604 \r\nL 266.676679 68.131511 \r\nL 269.751059 66.083682 \r\nL 272.825439 64.045471 \r\nL 275.899819 62.017221 \r\nL 278.974199 59.999272 \r\nL 282.04858 57.991953 \r\nL 285.12296 55.995587 \r\nL 288.19734 54.010489 \r\nL 291.27172 52.036965 \r\nL 294.3461 50.075314 \r\nL 297.42048 48.125824 \r\nL 300.494861 46.188778 \r\nL 303.569241 44.264448 \r\nL 306.643621 42.353098 \r\nL 309.718001 40.454983 \r\nL 312.792381 38.57035 \r\nL 315.866761 36.699435 \r\nL 318.941142 34.842468 \r\nL 322.015522 32.999667 \r\nL 325.089902 31.171243 \r\nL 328.164282 29.357397 \r\nL 331.238662 27.55832 \r\nL 334.313042 25.774196 \r\nL 337.387423 24.005199 \r\nL 340.461803 22.251493 \r\nL 343.536183 20.513234 \r\nL 346.610563 18.790569 \r\nL 349.684943 17.083636 \r\n\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 30.103125 224.64 \r\nL 30.103125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 364.903125 224.64 \r\nL 364.903125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 30.103125 224.64 \r\nL 364.903125 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 30.103125 7.2 \r\nL 364.903125 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p01cc19a9d4\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"30.103125\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  }
 ],
 "metadata": {
  "orig_nbformat": 4,
  "language_info": {
   "name": "python",
   "version": "3.8.8",
   "mimetype": "text/x-python",
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "pygments_lexer": "ipython3",
   "nbconvert_exporter": "python",
   "file_extension": ".py"
  },
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.8.8 64-bit ('pysyft': conda)"
  },
  "interpreter": {
   "hash": "57f55249afac9e3bb90b27c0916a1d44f0a08c86299e4ac4c83ac98b0a805cf4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}